type Op r a = a -> r